package com.zjsru.oneDay;

import java.util.Arrays;

/***
 * 游戏中弱角色的数量
 *
 * 输入：properties = [[5,5],[6,3],[3,6]]
 * 输出：0
 * 解释：不存在攻击和防御都严格高于其他角色的角色。
 *
 * 输入：properties = [[1,5],[10,4],[4,3]]
 * 输出：1
 * 解释：第三个角色是弱角色，因为第二个角色的攻击和防御严格大于该角色。
 *
 */
public class numberOfWeakCharacters {
    public int numberOfWeakCharacters(int[][] properties) {
        int n = properties.length;
        int ans = 0;
        Arrays.sort(properties, (a, b) -> {
            if (a[0] != b[0]) return b[0] - a[0];
            return b[1] - a[1];
        });
        for (int i = 0, max = properties[0][1]; i < n; ) {
            int j = i;
            while (j < n && properties[j][0] == properties[i][0]) {
                if (i != 0 && properties[j][1] < max) ans++;
                j++;
            }
            max = Math.max(max, properties[i][1]);
            i = j;
        }
        return ans;
    }

    public static void main(String[] args) {
        numberOfWeakCharacters numberOfWeakCharacters = new numberOfWeakCharacters();
        int[][] properties = new int[][]{{1, 1}, {2, 1}, {2, 2},{1,2}};
        System.out.println(numberOfWeakCharacters.numberOfWeakCharacters(properties));
    }
}
